package com.shop.cereshop.commons.domain.agent;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 用户代金券表实体类
 */
@Data
@TableName("cere_agent_voucher_user")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class CereAgentVoucherUser {

  /**
   * 用户代金券ID
   */
  @ApiModelProperty(value = "用户代金券ID")
  @TableId(value = "voucher_user_id", type = IdType.AUTO)
  private Long voucherUserId;

  /**
   * 代金券ID
   */
  @ApiModelProperty(value = "代金券ID")
  @TableField("voucher_id")
  private Long voucherId;

  /**
   * 代理商用户ID
   */
  @ApiModelProperty(value = "代理商用户ID")
  @TableField("agent_user_id")
  private Long agentUserId;

  /**
   * 代金券面额
   */
  @ApiModelProperty(value = "代金券面额")
  @TableField("face_value")
  private BigDecimal faceValue;

  /**
   * 城市编码
   */
  @ApiModelProperty(value = "城市编码")
  @TableField("city_code")
  private String cityCode;

  /**
   * 已使用金额
   */
  @ApiModelProperty(value = "已使用金额")
  @TableField("used_amount")
  private BigDecimal usedAmount;

  /**
   * 剩余金额
   */
  @ApiModelProperty(value = "剩余金额")
  @TableField("remaining_amount")
  private BigDecimal remainingAmount;

  /**
   * 领取时间
   */
  @ApiModelProperty(value = "领取时间")
  @TableField("receive_time")
  private LocalDateTime receiveTime;
}
